L'architecture des MMORPGs


Contexte

Dans le cadre de leur formation d'ingénieur, les élèves de troisième année de l'ESIPE sont amenés à faire un exposé technique devant le reste de la promotion et doivent ensuite réaliser le pendant écrit de cette présentation sous forme de site Web.

L'exposé présenté sur ce site a été réalisé par Guillaume DEMURGER. Le sujet est l'architecture des jeux multijoueurs online: les MMOs, et plus particulièrement les MMORPGs.

Vous trouverez l'ensemble des présentations à l'adresse suivante: http://igm.univ-mlv.fr/~dr/expose.php.


Historique

Les MMORPGs sont les successeurs d'es MUDs (Multi-Users-Dungeon). Le premier MUD voit le jour en 1985. A l'époque, le jeux se joue en ligne de commande. En 1991, bien que le terme n'existe pas encore, le premier jeux rassemblant les caractéristiques d'un MMORPG est développé, c'est Neverwinter Nights. Il est doté d'une interface graphique en 2D.

Meridian59 est développé 1996. C'est le premier MMORPG possédant une interface graphique 3D permettant au joueur de voir le monde du jeu par les yeux de son personnage. Ce jeux connaîtra un très grand succès.

Enfin, le premier MMORPG payant sort en 1999. Il s'agit d'Ever Quest. Les joueurs payent un forfait mensuel pour avoir le droit de jouer. A partir de ce jeu, la dimension économique sera de plus en plus présente dans l'univers des MMORPGs.

Aujourd'hui, l'économie des MMORPGs se décrit en grand, avec plus de 100 jeux sortis depuis 2005 dont 25 rien qu'en 2012. Les plus grands MMORPGs ont un nombre de joueurs dépassant les 10 millions. World of Warcraft en avait 12 millions en 2012. Enfin, on estime que les revenus générés en 2012 par les MMORPGs atteignent les 2.4 milliards de dollars. Il ne fait aucun doute que ces chiffres grandiront encore dans les années à venir.


Enjeux Techniques

C'est dans le nombre impressionnant de joueurs pouvant être connecté simultanément et la taille ainsi que l'évolutivité du monde que les MMORPGs se distinguent d'autres jeux vidéos, tels que les FPS. Ces caractéristiques induisent des défis techniques à relever.

Le premier enjeux technique la puissance de calcul. Comment arriver à faire jouer un tel nombre de joueurs? Un seul serveur ne peut pas suffire. Le monde sera donc découpé afin d'avoir un serveur pour une partie bien définie du monde.

Deuxièmement, comment assurer l'évolutivité du monde vue par tous les joueurs en même temps? Beaucoup de messages doivent être échangés car dès qu'un joueur effectue une action, même si cette dernière n'a un qu'effet temporaire, il faut qu'au moins tous les joueurs dans la zone soit averti de cette action. Et si l'action a modifié l'état du monde du MMORPG, il faut que tous les joueurs arrivant dans cette zone maintenant ou plus tard soient également notifié du changement d'état. On se rend compte que la bande passante nécessaire pour faire transiter tous ces messages entre serveurs et joueurs est colossale. Nous verrons donc les astuces qui ont permis aux développeurs de limiter la consommation de bande passante.

Enfin, dans les dernières formules de ventes des MMORPGs modernes, la durée de vie d'un jeu, et donc sa rentabilité est augmentée par le mécanisme d'extensions. Par exemple, l'auteur vous propose d'acheter la dernière extension de votres jeu préféré qui vous donne accès à un nouveau continent de jeu. Comment assurer l'extensibilité du monde d'un jeu de façon transparente pour les joueurs? Une autre question est la tolérance aux pannes. Si le jeu est réparti sur des dizaines de serveurs, la probabilité que l'un d'entre eux tombe devient de plus en plus forte. Comment alors assurer la continuité du jeu pour les joueurs impactés par la panne?